package com.itheima.ydd.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class SysMenu implements Serializable {
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    //父级编号
    private Integer pid;

    //路由名称
    private String path;

    //组件路径
    private String component;

    //菜单名称
    private String title;

    //图标
    private String icon;

    //是否在菜单中显示，0不显示，1显示
    @JsonProperty("is_show")
    private Integer isShow;

    //是否缓存，0否 1是
    @JsonProperty("is_cache")
    private Integer isCache;

    //是否外联，0否 1是
    @JsonProperty("is_link")
    private Integer isLink;

    //重定向地址
    private String redirect;

    //创建时间
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createDate;

    //更新时间
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateDate;

    //删除标记
    private Integer delFlag;

    //类型： 1是菜单 2按钮
    private Integer type;

    //排序
    private BigDecimal sort;

    //权限标识
    private String mark;

    //是否为默认数据null为不是，1表示是
    private String defaultData;

    @TableField(exist = false)
    private List<SysMenu> children;

}
